#pragma once
#include <string>
#include <cstdio>
#include <iostream>
#include <conio.h>
#include <vector>
#include <sstream>
#include "Course.h"
using namespace std;
class Student
{
private:
	string firstName, surName;
	int enrollmentYear;
	vector<Course*> courses;
public:
	Student(void);
	Student(string fName, string sName, int enrollmentYear = 2013);
	~Student(void);
	Course* Student::getCourse(int index);
	Student(Student &s);
	void read();
	void write();
	const stringstream list();
	/* Getters and setters */
	void setEnrollmentYear(int year){	enrollmentYear = year; }
	void setFirstName(string name){		firstName = name; }
	void setSurname(string name){		surName = name; }

	void addCourse(Course* c);

	string getFirstName(){		return firstName; }
	string getSurname(){		return surName; }
	int getEnrollmentYear(){	return enrollmentYear; }
	vector<Course*> Student::getCourse();
	friend istream& operator>>(istream& i, Student& s);
	friend ostream& operator<< (ostream& o, Student& s);
};